package com.ruoyi.system.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 询价单对象 ci_inquiry
 * 
 * @author ruoyi
 * @date 2022-10-31
 */
@Data
@ApiModel(value = "询价单对象")
public class CiInquiry extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty(value = "id")
    private Long id;

    /** 甲方公司编码 无用 */
    @Excel(name = "甲方公司编码 无用")
    @ApiModelProperty(value = "甲方公司编码 无用")
    private String bukrs;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private Date modifyTime;

    /** 创建人 */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private String creator;

    /** 权限树 无用 */
    @Excel(name = "权限树 无用")
    @ApiModelProperty(value = "权限树 无用")
    private String deptTree;

    /** 询价编号 系统生成 */
    @Excel(name = "询价编号 系统生成")
    @ApiModelProperty(value = "询价编号 系统生成")
    private String inquiryNo;

    /** 用户身份标识 */
    @Excel(name = "用户身份标识")
    @ApiModelProperty(value = "用户身份标识")
    private String outerUnicId;

    /** 运单号 */
    @Excel(name = "运单号")
    @ApiModelProperty(value = "运单号")
    private String waybillNo;

    /** 询价类型 无用 */
    @Excel(name = "询价类型 无用")
    @ApiModelProperty(value = "询价类型 无用")
    private String inquiryType;

    /** 地址 */
    @Excel(name = "地址")
    @ApiModelProperty(value = "地址")
    private String address;

    /** 外部用户唯一id */
    @Excel(name = "外部用户唯一id")
    @ApiModelProperty(value = "外部用户唯一id")
    private String outerId;

    /** 联系次数 */
    @Excel(name = "联系次数")
    @ApiModelProperty(value = "联系次数")
    private Long quoteNum;

    /** 最低价格(向客户报价) 无用 */
    @Excel(name = "最低价格(向客户报价) 无用")
    @ApiModelProperty(value = "最低价格(向客户报价) 无用")
    private BigDecimal quotePrice;

    /** 供应商给出的最低报价 无用 */
    @Excel(name = "供应商给出的最低报价 无用")
    @ApiModelProperty(value = "供应商给出的最低报价 无用")
    private BigDecimal supplierQuotePrice;

    /** 供应商名称入住企业名称 */
    @Excel(name = "供应商名称入住企业名称")
    @ApiModelProperty(value = "供应商名称入住企业名称")
    private String carrierName;

    /** 供应商编码入住企业编码 */
    @Excel(name = "供应商编码入住企业编码")
    @ApiModelProperty(value = "供应商编码入住企业编码")
    private String carrierCode;

    /** 毛利率,% 无用 */
    @Excel(name = "毛利率,% 无用")
    @ApiModelProperty(value = "毛利率,% 无用")
    private BigDecimal grossMargin;

    /** 询价状态审核状态 */
    @Excel(name = "询价状态审核状态")
    @ApiModelProperty(value = "询价状态审核状态")
    private String inquiryStatus;

    /** 最晚下单时间 无用 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最晚下单时间 无用", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "最晚下单时间 无用")
    private Date latestOrderTime;

    /** 竞价开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "竞价开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "竞价开始时间")
    private Date bidStartTime;

    /** 竞价结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "竞价结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "竞价结束时间")
    private Date bidEndTime;

    /** 用车时间 无用 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "用车时间 无用", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "用车时间 无用")
    private Date departureTime;

    /** 时效类型 10 标准时效  20 精准时效 无用 */
    @Excel(name = "时效类型 10 标准时效  20 精准时效 无用")
    @ApiModelProperty(value = "时效类型 10 标准时效  20 精准时效 无用")
    private Long agingType;

    /** 被收藏次数 */
    @Excel(name = "被收藏次数")
    @ApiModelProperty(value = "被收藏次数")
    private Long lovedNumber;

    /** 期望到达时间 无用 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "期望到达时间 无用", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "期望到达时间 无用")
    private Date arriveTime;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty(value = "数量")
    private String cargoNum;

    /** 特殊要求 */
    @Excel(name = "特殊要求")
    @ApiModelProperty(value = "特殊要求")
    private String specialRequest;

    /** 月结卡号 */
    @Excel(name = "月结卡号")
    @ApiModelProperty(value = "月结卡号")
    private String customerNo;

    /** 月结客户名称 */
    @Excel(name = "月结客户名称")
    @ApiModelProperty(value = "月结客户名称")
    private String customerName;

    /** 总里程（km） */
    @Excel(name = "总里程", readConverterExp = "k=m")
    @ApiModelProperty(value = "总里程（km）")
    private BigDecimal distance;

    /** 版本号 */
    @Excel(name = "版本号")
    @ApiModelProperty(value = "版本号")
    private Long version;

    /** 取消原因 */
    @Excel(name = "取消原因")
    @ApiModelProperty(value = "取消原因")
    private String cancelReason;

    /** 取消时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "取消时间")
    private Date cancelTime;

    /** 取消人 */
    @Excel(name = "取消人")
    @ApiModelProperty(value = "取消人")
    private String cancelUser;

    /** 询价来源 */
    @Excel(name = "询价来源")
    @ApiModelProperty(value = "询价来源")
    private String inquirySource;

    /** 询价API调用者partnerId */
    @Excel(name = "询价API调用者partnerId")
    @ApiModelProperty(value = "询价API调用者partnerId")
    private String inquiryPartnerId;

    /** 小程序用户id */
    @Excel(name = "小程序用户id")
    @ApiModelProperty(value = "小程序用户id")
    private String memberId;

    /** 小程序用户手机号 */
    @Excel(name = "小程序用户手机号")
    @ApiModelProperty(value = "小程序用户手机号")
    private String memberPhone;

    /** 付款方式1寄付现结2到付现结3寄付月结 */
    @Excel(name = "付款方式1寄付现结2到付现结3寄付月结")
    @ApiModelProperty(value = "付款方式1寄付现结2到付现结3寄付月结")
    private String payment;

    /** 小程序是否确认1未确认2确认 */
    @Excel(name = "小程序是否确认1未确认2确认")
    @ApiModelProperty(value = "小程序是否确认1未确认2确认")
    private Integer confirmStatus;

    /** 价格是否偏离,1是,0否 */
    @Excel(name = "价格是否偏离,1是,0否")
    @ApiModelProperty(value = "价格是否偏离,1是,0否")
    private Integer isPriceDeviate;

    /** 价格偏离比例 */
    @Excel(name = "价格偏离比例")
    @ApiModelProperty(value = "价格偏离比例")
    private BigDecimal priceDeviateRate;

    /** 标题 */
    @Excel(name = "标题")
    @ApiModelProperty(value = "标题")
    private String inqueryTitle;

    /** 1本人2代替他人 */
    @Excel(name = "1本人2代替他人")
    @ApiModelProperty(value = "1本人2代替他人")
    private Integer inqueryType;

    /** 货物枚举编码 */
    @Excel(name = "货物枚举编码")
    @ApiModelProperty(value = "货物枚举编码")
    private String cargoCode;

    /** 货物枚举名称 */
    @Excel(name = "货物枚举名称")
    @ApiModelProperty(value = "货物枚举名称")
    private String cargoName;

    /** 货物美剧id */
    @Excel(name = "货物美剧id")
    @ApiModelProperty(value = "货物美剧id")
    private Long cargoId;

    /** 联系数量 */
    @Excel(name = "联系数量")
    @ApiModelProperty(value = "联系数量")
    private Integer contactsCount;

    /** 天数 */
    @Excel(name = "天数")
    @ApiModelProperty(value = "天数")
    private Integer days;

    /**  */
    @Excel(name = "")
    @ApiModelProperty(value = "")
    private String url;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("bukrs", getBukrs())
            .append("createTime", getCreateTime())
            .append("modifyTime", getModifyTime())
            .append("creator", getCreator())
            .append("deptTree", getDeptTree())
            .append("inquiryNo", getInquiryNo())
            .append("outerUnicId", getOuterUnicId())
            .append("waybillNo", getWaybillNo())
            .append("inquiryType", getInquiryType())
            .append("address", getAddress())
            .append("outerId", getOuterId())
            .append("quoteNum", getQuoteNum())
            .append("quotePrice", getQuotePrice())
            .append("supplierQuotePrice", getSupplierQuotePrice())
            .append("carrierName", getCarrierName())
            .append("carrierCode", getCarrierCode())
            .append("grossMargin", getGrossMargin())
            .append("inquiryStatus", getInquiryStatus())
            .append("latestOrderTime", getLatestOrderTime())
            .append("bidStartTime", getBidStartTime())
            .append("bidEndTime", getBidEndTime())
            .append("departureTime", getDepartureTime())
            .append("agingType", getAgingType())
            .append("lovedNumber", getLovedNumber())
            .append("arriveTime", getArriveTime())
            .append("cargoNum", getCargoNum())
            .append("specialRequest", getSpecialRequest())
            .append("remark", getRemark())
            .append("customerNo", getCustomerNo())
            .append("customerName", getCustomerName())
            .append("distance", getDistance())
            .append("version", getVersion())
            .append("cancelReason", getCancelReason())
            .append("cancelTime", getCancelTime())
            .append("cancelUser", getCancelUser())
            .append("inquirySource", getInquirySource())
            .append("inquiryPartnerId", getInquiryPartnerId())
            .append("memberId", getMemberId())
            .append("memberPhone", getMemberPhone())
            .append("payment", getPayment())
            .append("confirmStatus", getConfirmStatus())
            .append("isPriceDeviate", getIsPriceDeviate())
            .append("priceDeviateRate", getPriceDeviateRate())
            .append("inqueryTitle", getInqueryTitle())
            .append("inqueryType", getInqueryType())
            .append("cargoCode", getCargoCode())
            .append("cargoName", getCargoName())
            .append("cargoId", getCargoId())
            .append("contactsCount", getContactsCount())
            .append("days", getDays())
            .append("url", getUrl())
            .toString();
    }
}
